home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr05 / xnot12a.zip / KBD.H < prev    next >
C/C++ Source or Header  |  1993-05-20  |  1KB  |  56 lines

  1. /*
  2.  * kbd.h: type definitions for symbol.c and kbd.c for mg experimental
  3.  */
  4.  
  5. typedef struct    {
  6.   KCHAR    k_base;        /* first key in element            */
  7.   KCHAR    k_num;        /* last key in element            */
  8.   PF    *k_funcp;    /* pointer to array of pointers to functions */
  9.   struct keymap_s  *k_prefmap;  /* keymap of ONLY prefix key in element */
  10. } MAP_ELEMENT;
  11.  
  12. /* predefined keymaps are NOT type KEYMAP because final array needs
  13.  * dimension.  If any changes are made to this struct, they must be
  14.  * reflected in all keymap declarations.
  15.  */
  16.  
  17. #define KEYMAPE(NUM)    {\
  18.     short    map_num;\
  19.     short    map_max;\
  20.     PF    map_default;\
  21.     MAP_ELEMENT map_element[NUM];\
  22. }
  23.         /* elements used        */
  24.         /* elements allocated        */
  25.         /* default function        */
  26.         /* realy [e_max]        */
  27. typedef struct    keymap_s KEYMAPE(1)    KEYMAP;
  28.  
  29. #define none    ctrlg
  30. #define prefix    (PF)NULL
  31.  
  32. /* number of map_elements to grow an overflowed keymap by */
  33. #define IMAPEXT 0
  34. #define MAPGROW 3
  35. #define MAPINIT (MAPGROW+1)
  36.  
  37. /* max number of default bindings added to avoid creating new element */
  38. #define MAPELEDEF 4
  39.  
  40. typedef struct MAPS_S 
  41. {
  42.   KEYMAP    *p_map;
  43.   char    *p_name;
  44. } MAPS;
  45.  
  46. extern    MAPS    map_table[];
  47.  
  48. typedef struct 
  49. {
  50.   PF    n_funct;
  51.   char    *n_name;
  52. } FUNCTNAMES;
  53.  
  54. extern    int    nfunct;
  55. extern    MAP_ELEMENT *ele;
  56.